JavaScript
part 14/23 Β· 89.0 KB total
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
var maVariable5 = [1, 2, 3]; // lie `maVariable5` Γ une donnΓ©e de
valeur [1, 2, 3]
var maVariable6 = maVariable5; // lie `maVariable6` Γ la donnΓ©e liΓ©e Γ
`maVariable5`
maVariable5.push(4); // modifie la donnΓ©e liΓ©e Γ `maVariable5` et
`maVariable6`
alert(maVariable5); // affiche [1, 2, 3, 4]
alert(maVariable6); // affiche [1, 2, 3, 4]
PortΓ©e lexicale des variables
La portΓ©e lexicale d'une variable est la partie d'un programme oΓΉ la
liaison entre son identifiant et sa donnΓ©e est valide. En JavaScript, la
portΓ©e lexicale d'une variable peut Γͺtre de deux types, selon le mot-clΓ©
utilisΓ© pour la dΓ©clarer :
β’ var : au niveau de la fonction (ou de l'espace global) oΓΉ elle est
β’ let ou const (introduits dans ECMAScript 6) : au niveau du bloc oΓΉ
particulier.
Depuis le support de let par les navigateurs modernes, var ne doit plus
Γͺtre utilisΓ© et son utilisation est considΓ©rΓ© comme une mauvaise
pratiquecite-ref-29[29].
// 1. DΓ©claration dans un bloc
if (true) { // dΓ©but du bloc
var maVariable1; // dΓ©claration de la variable
let maVariable2; // dΓ©claration de la variable
const maVariable3; // dΓ©claration de la variable
} // fin du bloc mais pas de la portΓ©e de maVariable1
alert(maVariable1); // ne soulève pas d'erreur
alert(maVariable2); // erreurΒ : la variable est hors de sa portΓ©e
alert(maVariable3); // erreurΒ : la variable est hors de sa portΓ©e
// 2. DΓ©claration dans une fonction
function maFunction() { // dΓ©but de la fonction
var maVariable4; // dΓ©claration de la variable
let maVariable5; // dΓ©claration de la variable
const maVariable6; // dΓ©claration de la variable
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ